package com.py.framework.core.rest.support;

import io.swagger.annotations.ApiModelProperty;

/**
 * 返回结果实体
 * 
 * @author Leegern
 * @date 2018年3月15日
 */
public class RestServiceResult<T> {
	/** 成功码 **/

	public static int CODE_SUCCESS = 0;
	/** 失败码 **/
	public static int CODE_UNKNOW = -1;
	/** 未登录 **/
	public static int CODE_LOGOUT = -2;
	/** 无权限 **/
	public static int CODE_NOAUTH = -3;

	/**
	 * 状态码
	 */
	@ApiModelProperty(value = "返回码:成功码 0,失败码 -1,未登录:-2,无权限-3")
	private int code = CODE_SUCCESS;

	/**
	 * 错误信息
	 */
	@ApiModelProperty(value = "错误信息")
	private String msg;

	/**
	 * 总记录数
	 */
	@ApiModelProperty(value = "总记录数量")
	private int count;

	/**
	 * 返回结果
	 */
	@ApiModelProperty(value = "返回结果")
	private T data;

	public RestServiceResult() {
	}

	/**
	 * 自定义构造器
	 * 
	 * @param data
	 *            返回结果集
	 */
	public RestServiceResult(T data) {
		this(0, data);
	}

	/**
	 * 自定义构造器
	 * 
	 * @param count
	 *            总记录数
	 * @param data
	 *            返回结果集
	 */
	public RestServiceResult(int count, T data) {
		this.count = count;
		this.data = data;
	}

	/**
	 * @return the code
	 */
	public int getCode() {
		return code;
	}

	/**
	 * @param code
	 *            the code to set
	 */
	public void setCode(int code) {
		this.code = code;
	}

	/**
	 * @return the msg
	 */
	public String getMsg() {
		return msg;
	}

	/**
	 * @param msg
	 *            the msg to set
	 */
	public void setMsg(String msg) {
		this.msg = msg;
	}

	/**
	 * @return the count
	 */
	public int getCount() {
		return count;
	}

	/**
	 * @param count
	 *            the count to set
	 */
	public void setCount(int count) {
		this.count = count;
	}

	/**
	 * @return the data
	 */
	public T getData() {
		return data;
	}

	/**
	 * @param data
	 *            the data to set
	 */
	public void setData(T data) {
		this.data = data;
	}
}